import { Context } from "egg";
export default () => {
  return async (ctx: Context, next: () => Promise<any>) => {
    try {
      await next();
    } catch (e) {
      const error = e as any;
      console.log("捕获错误", e);
      // 捕获登录验证得错误
      if (error && error.status === 401) {
        return ctx.helper.error({ ctx, errorType: "loginValidateFail" });
      }
      // 捕获500的数据库操作错误
      if (error && error.status === 500) {
        return ctx.helper.error({ ctx, errorType: "commonOperateFail" });
      }
      // } else if (_ctx.path === "/api/utils/upload-img") {
      //   if (error && error.status === 400) {
      //     return _ctx.helper.error({
      //       _ctx,
      //       errorType: "imageUploadFileFormatError",
      //       error: error.message,
      //     });
      //   }
      //   throw error;
      // }
      throw error;
    }
  };
};
